﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace GN.Pay.Client.Request.Trade
{
    /// <summary>
    /// 退款申请请求
    /// </summary>
    public class RefundApplyRequest : OrderRequest
    {
        /// <summary>
        /// 申请单号
        /// </summary>
        [Required(ErrorMessage = "申请号不能为空")]
        [StringLength(maximumLength: 32, ErrorMessage = "申请号长度最多为32")]
        public string ApplyNo { get; set; }

        /// <summary>
        /// 申请金额
        /// </summary>
        [Range(0.01, (double)decimal.MaxValue, ErrorMessage = "申请金额必须大于零")]
        public decimal ApplyMoney { get; set; }

        /// <summary>
        /// 原因
        /// </summary>
        public string Reason { get; set; }

        /// <summary>
        /// 通知地址(Post)
        /// </summary>
        [StringLength(maximumLength: 255)]
        public string NotifyUrl { get; set; }

        /// <summary>
        /// 扩展参数
        /// </summary>        
        public string ExtraParam { get; set; }
    }
}
